1. Field of the Invention
The present invention relates to a transmitting apparatus that executes transmission processing by constructing transmission packet from a source packet including a source packet header, a packet mode determining method, a source packet generating apparatus for generating a source packet, a medium and a program.
2. Related Art of the Invention
Accompanied by progress of the LSI technology, a network to digitalize image information and sound information and transmit is being developed. Since the image signals and sound signals need to be reproduced in real time, a network that can execute real time transmission will become necessary.
As a network that is suitable for such real time transmission, there is a network called IEEE1394. The IEEE1394 can send data by synchronous transmission with a serial rapid bus system, and therefore real time transmission is possible.
The IEEE1394 can be mounted on a lot of digital image sound equipment including a Set Top Box (to be described as “STB” as follows) to receive MPEG2 data from satellite broadcasting etc. as an interface to be installed outside. For example, in an STB, the IEEE1394 is used so that data transmission between other AV equipment and the STB can be executed. IEC61883 has been established as standards for transmitting AV data such as MPEG2 with the IEEE1394.
On the other hand, also as for a personal computer (to be described as “PC” as follows), Windows98 of Microsoft Corporation being a standard OS has been used to support the IEEE1394 officially and consequently the IEEE1394 is rapidly proliferating in the PC industry as well.
Now, a method to transmit on the IEEE1394 a transport stream packet (to be described as “TS packet” as follows) of the MPEG2 in the IEC61883 will be described with reference to FIGS. 1 to 6.
FIG. 1 is a construction of a source packet. In FIG. 1, reference numeral 101 denotes a TS packet, reference numeral 102 denotes a source packet header, and reference numeral 103 does a source packet.
FIG. 2 is a construction of a source packet header 102. In FIG. 2, reference numeral 201 denotes a time stamp and reference numeral 202 denotes spare information.
FIG. 3 denotes a construction example of CIP data. In FIG. 3, reference numeral 301 denotes a CIP header and reference numeral 302 denotes CIP data.
FIG. 4 is a construction of an isochronous packet. In FIG. 4, reference numeral 401 denotes the isochronous packet, reference numeral 402 denotes an isochronous header, reference numeral 403 denotes a header CRC and reference numeral 404 denotes data CRC.
FIG. 5 is a conceptual view at the time of transmission of TS packets 101.
FIG. 6 is a construction of Cycle Time Register (to be described as “CTR” as follows) in the IEEE1394. In FIG. 6, reference numeral 601 denotes a CTR.
Firstly, as shown in FIG. 1, the source packet header 102 is added to the TS packet 101 so as to construct the source packet 103. As shown in FIG. 2, the source packet header 102 is constructed of a 25-bit time stamp 201 and a 7-bit spare information 202. Time information showing transmission timing of the TS packet 101 is described in the time stamp 201, and the spare information 202 is a region booked for the future where 0 is described for all the 7 bits currently. Details on the time stamp 201 will be described later.
Next, the CIP data 302 is constructed from the source packet 103. The construction method varies more or less corresponding with transmission rates of data. FIG. 3 is an example of a construction method of the CIP data 302, and the CIP data 302 are constructed by adding the CIP header 301 to the source packet 103.
In the case where the transmission rate is low, there is a case that the source packet 103 is split into 2 units, 4 units or 8 units and CIP headers 301 are added thereto respectively so that the CIP data 302 are constructed. However, in this case, in that stream, the number of units of splittings cannot be changed.
In addition, in the case where the transmission rate is high, a plurality of units of the source packet 103 are unified and the CIP header 301 is added hereto so that the CIP data 302 can be constructed. In this case, inside that stream, the number of units of the source packets 103 included in a unit of the CIP data 302 can be changed.
Alternatively, or for the purpose of adjusting the transmission rate, the CIP data 302 can be constructed only of the CIP header 301 as well. Such a packet, that does not always transmit actual data, is thus called “Empty packet”.
Lastly, as shown in FIG. 4, the isochronous header 402, the header CRC 403 and the data CRC 404 are added to the CIP data 302 so that isochronous packet 401 being the transmission format of the IEEE1394 is generated. The header CRC 403 is information for correcting errors of the isochronous header 402, and the data CRC 404 are information for correcting errors of the CIP data 302.
Incidentally, in the transport stream of the MPEG2, there exists a TS packet including time information (Program Clock Reference=PCR), and when the transmission timing of that packet is deviated, a problem such as a color deviation takes place for display subject to decoding, and in some cases, such a case that decoding cannot be executed at all could take place. Therefore, the receiving party must reproduce the same timing as the transmitting party.
However, actually, transmission jitter in the IEEE1394 bus and delay inside equipment and the like exist, and timing when the receiving party receives the isochronous packet mostly deviates from the original timing as in FIG. 5.
Under the circumstance, in an IEC61883, the time stamp 201 showing the time information is supposed to be added to the source packet header 102 so that the receiving party can reconstruct the timing of the TS packet 101.
The time stamp 201 for use is a value subject to a certain constant offset onto the time when the TS packet 101 has arrived at the transmitter. The receiving party can reproduce the timing of the original stream by outputting to a decoder etc. at the time expressed by this time stamp 201. At this time, the timing of each TS packet will be subject to only delay covering the offset from the original stream as in FIG. 5.
The value of the time stamp 201 is expressed with the value of the CTR of the IEEE1394. The CTR of the IEEE1394 is constructed of 7-bit Second_Count, 13-bit Cycle_Count, and 12-bit Cycle_Offset as in FIG. 6, but the value of the time stamp 201 is constructed of the lower 25 bits among these, that is, the Cycle_Count and the Cycle_Offset.
Incidentally, when the TS packet as described above is transmitted with IEEE1394, for example when the TS packet data are inputted to the transmitting party in real time, it will do so if the value of CTR inside the IEEE1394 interface is taken out at that point of time and an offset is added thereto to produce the time stamp.
On the contrary hereto, for example when the TS packet data are stored on a hard disk of a PC and the TS packet data are read out from a hard disk and are transmitted, in order to determine the transmission timing of the TS packet, such a method has been proposed that the value of the time stamp having been added to the TS packet in the transmitting party in advance is stored in the hard disk together with the TS packet and this time stamp value is utilized to determine the transmission timing of the TS packet.
According to this method, construction of a PC will not be complicated, and even if a part of or the whole of the IEEE1394 interface is constructed of softwares of a PC, the TS packets can be transmitted to the IEEE1394 bus easily.
That is, in the case where TS packet data are stored on the hard disk of the PC and the TS packet data are read out from the hard disk and are transmitted, it is necessary to detect the value of PCR included in the TS packet and to reproduce the transmission timing of the TS packets, and thus the construction will become complicated. However, this proposed method utilizes the value of the stored time stamp to determine the transmission timing of the TS packet, and therefore, it is not necessary to detect the PCR and to reproduce the transmission timing of the TS packet, and therefore, as described above, construction of the PC will not get complicated.
In addition, in the case where a part of or the whole of the IEEE1394 interface is constructed of softwares of the PC and the time stamp has to be produced with softwares, when the CTR value is taken out from the IEEE1394 interface it gives rise to a delay, that delay amount is not constant and cannot be predicted, and therefore it is difficult to produce an exact time stamp. However, according to this method, the value of the stored time stamp is utilized to determine the value of the time stamp to be added to the TS packet, and therefore, even if the whole of or a part of the IEEE1394 interface is constructed of softwares of a PC, exact time stamps can be produced.
In addition, in case of a TS packet having been produced subject to encoding with software of a PC, it is necessary to newly produce and add a value of the time stamp.
In the case where TS packet data are read out from a hard disk and are transmitted with IEEE1394 as described above, it has to be determined how respective TS packets are integrated to an isochronous packet or how an Empty packet is inserted therein based on value of a time stamp that has been added in advance. However, so far means of determining how integration into an isochronous packet is actually executed or how an Empty packet is inserted based on value of the added time stamp has not been provided.
That is, there is a problem that there does not exist any means of determining how TS packets are integrated to an isochronous packet or how an Empty packet is inserted therein based on value of a time stamp that has been added in advance.
The present invention has been completed in view of such conventional problems, and an objective thereof is to provide transmitting apparatuses, transmitting method, packet mode determining methods, media and programs that can easily determine how the TS packet data are transmitted based on the value of the time stamp in the case where TS packet data are read out from a hard disk and are transmitted with IEEE1394.
In addition, when the TS packet data are produced subject to encoding with software of a PC for example, when the TS packet data exist on the PC and this TS packet data is to be transmitted with IEEE1394 from the PC, it is necessary that such a time stamp that can specify a transmission timing of the TS packet is produced in advance.
However, a PC that can normally transmit with IEEE1394 the TS packets produced subject to encoding with a software of the PC is not known.
That is, as for conventional PCs, there is a problem that there does not exist any such PC that can normally transmit with IEEE1394 those TS packet data in the case where TS packet data exist on a PC.